草庐IT

python - 在 Python 中清理 HTML

全部标签

html - HTML,XMLNS, namespace ,XML

我在用nekohtml+dom4j解析html文档时遇到了一些问题。我发现我的xpath表达式不再工作了,因为最近在html源代码中添加了一个新的默认htmlxml名称空间。规格说明:前缀xmlns仅用于声明命名空间绑定并由绑定到命名空间名称的定义http://www.w3.org/2000/xmlns/它必须不申报。其他前缀必须未绑定到此命名空间名称,它不能被宣布为默认命名空间。元素名必须没有前缀xmlns。但在我的html文档中,最近(我猜)在html标记中添加了:xmlns=“http://www.w3.org/1999/xhtml”我找到了两个解决方案:1)删除命名空间:DOM

python - 关于正则表达式和 XML

我有XML格式的数据。示例如下所示。我想从tag中提取数据.这是我的XML数据。The40-Year-OldVirginisa2005Americanbuddycomedyfilmaboutamiddle-agedman'sjourneytofinallyhavesex.TheplotAndyStitzer(SteveCarell)istheeponymous40-year-oldvirgin.CastSoundtrackExternalLinks我只需要The40-Year-OldVirginisa2005Americanbuddycomedyfilmaboutamiddle-age

python - 使用 XPATH 处理格式错误的 HTML 文件

我继承了别人的(糟糕的)代码库,目前正拼命地尝试修复问题。今天,这意味着收集我们模板/主页中所有无效链接的列表。我目前在Python中使用ElementTree,尝试使用xpath解析站点。不幸的是,似乎html格式不正确,ElementTree不断抛出错误。是否有更多错误友好的xpath解析器?有没有办法在非严格模式下运行ElementTree?是否有任何其他方法,例如预处理,可以用来帮助这个过程? 最佳答案 LXML可以解析一些格式错误的HTML,实现ElementTreeAPI的扩展版本,并支持XPath:>>>fromlxm

html - 将 'embedded' XML 文档转换为 XSLT (1.0) 中的 CDATA 输出

给定一个像这样的输入XML文档:Thiscontainsan'embedded'HTMLdocumentHTMLDOCHelloWorld我如何提取“内部”HTML文档;将其呈现为CDATA并包含在我的输出文档中?因此输出文档将是一个HTML文档;其中包含一个将元素显示为文本的文本框(因此它将显示内部文档的“源View”)。我试过这个:但这只会渲染文本节点。我试过这个:]]>但这逃避了实际的XSLT,我得到:<xsl:value-ofselect="*"/>我试过这个:[...]这确实插入了一个CDATA部分,但输出仍然只包含文本(剥离的元素):MydocTitle:Thi

python - 将 python 对象转换为 XML 表示

在我的数据库中,我有一些需要在xml文件中表示的对象。将项目对象转换为项目的xml表示的最简单/最简单的方法是什么?我应该使用什么Python库? 最佳答案 拥有那个确切的结构有多重要?Django包含一个serializationframework可以将查询集转换为XML,但它根本不符合您的格式。否则您将需要手动编写-为此,我发现最简单的方法是编写一个模型方法,该方法可以以所需格式输出单个实例,然后在循环中对查询集的每个成员调用它。 关于python-将python对象转换为XML表示

html - 使用 ColdFusion 函数 XMLFormat() 时如何转义 HTML 字符实体?

我有以下HTMLblock:Thequickbrownfoxjumpsoverthelazydog—Thequickbrownfoxjumpsoverthelazydog.Thequickbrownfoxjumpsoverthelazydog—Thequickbrownfoxjumpsoverthelazydog.Thequickbrownfoxjumpsoverthelazydog—Thequickbrownfoxjumpsoverthelazydog.它不是有效的XHTML。但是,我需要将此HTML包含在XML文档中。我尝试使用XMLFormat

Python lxml 更改标签层次结构?

我在使用lxml时遇到了一个小问题。我正在将XML文档转换为HTML文档。原始XML看起来像这样(它看起来像HTML,但它在XML文档中):Localization-Eiffeltower?ParisorVegasBayestheoremp(A|B)当我这样做时(项目是上面的字符串)lxml.html.tostring(lxml.html.fromstring(item))我明白了:Localization-Eiffeltower?ParisorVegasBayestheoremp(A|B)我对没有任何问题,但“贝叶斯定理”段落不再嵌套在外部段落中这一事实是一个问题。有人知道为什么lx

Python:使用 minidom 搜索具有特定文本的节点

我目前面临的XML看起来像这样:345754这包含在层次结构中。我已经解析了xml,并希望通过搜索“345754”找到ID节点。 最佳答案 vartec的回答需要更正(抱歉,我不确定我能不能做到),它应该是:xmldoc=xml.dom.minidom.parse('your.xml')matchingNodes=[nodefornodeinxmldoc.getElementsByTagName("ID")ifnode.firstChild.nodeValue=='345754']它有两处错误:(i)标签名称区分大小写,因此匹配"i

Python 的 libxml2 无法解析 unicode 字符串

好的,Python的libxml2绑定(bind)的文档确实是****。我的问题:XML文档存储在Python中的字符串变量中。该字符串是Unicode的实例,其中包含非ASCII字符。我想用libxml2解析它,看起来像这样:#-*-coding:utf-8-*-importlibxml2DOC=u"""Bäääh!"""xml_doc=libxml2.parseDoc(DOC)结果是:Traceback(mostrecentcalllast):File"test.py",line13,inxml_doc=libxml2.parseDoc(DOC)File"c:\Python26\l

python - 当我不知道会有多少层时,如何遍历数据结构的所有层级以提取所有数据?

我需要从结构中提取数据并将其放入列表中,但我不知道该结构有多少层。对于每个级别,我可以调用level.children(),如果当前级别之下没有级别,则返回[],如果有,则返回返回[object,object,...],我可以在其中的每一个上再次调用children()。我需要深入了解结构,直到将所有级别的数据提取到列表中。当基于这样的结构时:JohnSmithTeamNameAstadium列表应该是这样的:[[{'name':'name','attrs':{},'text':'JohnSmith','parent':None},],[{'name':'team','attrs':{